Electronic mail system with advertising

ABSTRACT

A system for providing scheduled messages to a remote user in a batch oriented system. In a preferred embodiment of the present invention, a user creates and/or reads electronic mail locally. While the user creates the electronic mail, a message is displayed to the user on a portion of the local monitor, the message preferably changing in accordance with a local display schedule and stored on a local storage device. The message is preferably targeted to the particular user. When the user is ready to transmit the e-mail created and/or receive e-mail addressed to him, the user&#39;s local client establishes a connection via a modem with a remote e-mail server system. The remote e-mail server system not only receives the e-mail transmitted by the user and/or transmits e-mail addressed to the user, but also updates the user&#39;s local messages in accordance with a distribution schedule. After the e-mail and message updates are transmitted, the user&#39;s local client computer is disconnected from the remote e-mail server system.

FIELD OF THE INVENTION

[0001] The present invention is directed to an electronic mail systemthat displays advertisements to remote users, and in particular, to asystem that displays targeted advertisements to remote users when theusers are off-line.

COPYRIGHT NOTICE

[0002] A portion of the disclosure of this patent document containsmaterial which is subject to copyright protection. The copyright ownerhas no objection to the facsimile reproduction by anyone of the patentdocument or patent disclosure as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

BACKGROUND OF THE INVENTION

[0003] Electronic mail (or “e-mail”) is becoming a popular way forpeople to communicate. Using e-mail, a person can send messages andother information (such as pictures, sound recordings, formatteddocuments, etc. that are in digital form) electronically to other e-mailusers.

[0004] E-mail communication systems are generally regarded as multi-caststore-and-forward bi-directional communication systems. A user can sende-mail messages to one or more recipients at a time. An e-mail system isregarded as bi-directional as, usually, a user can both send and receivee-mail messages.

[0005] When using e-mail to communicate, a user will typically create amessage using an e-mail program running on a computer that is or can beconnected by a network to other computers. The message will include thee-mail address of the intended recipient. When the user has finishedentering the message, the user will “send” the message to the intendedrecipient—the message is electronically transmitted via the computernetwork. The recipient, also using an e-mail program running on acomputer connected to the computer network, can then read the receivedmessage.

[0006] A common computer network used to send and receive e-mail is theInternet. The Internet allows users to send and receive e-mail to andfrom computers around the world. Typically, each user will have anInternet e-mail address unique to that user, e.g., bob@pto.com. A userwith an e-mail account and a computer that can connect to the Internetcan easily send and receive e-mail over the Internet.

[0007] There are a number of ways that a user can connect to theInternet to send and receive e-mail. A user can have an account with aproprietary on-line network, such as, for example, Prodigy, AmericaOnline, CompuServe or Microsoft Network. Using a computer with a modem,the user dials up the on-line network's access number and connects tothe on-line network. The user can then send and receive e-mail to andfrom other users of the on-line network and, provided that the on-linenetwork is connected to the Internet, with those having an Internete-mail address. An alternative method to connect with the Internet isvia an Internet Service Provider. Using a modem, the user dials theaccess number of the Internet Service Provider, and establishes aconnection with a computer “directly” connected to or part of theInternet. The user can then operate an e-mail program, such as Eudora,to send and receive e-mail over the Internet.

[0008] In many existing systems, users read and write e-mail whileon-line, i.e., while connected to the on-line network or the InternetService Provider. Costs of operating the on-line network (includingcommunication and hardware costs) are higher when users are connected tothe network. Also, some on-line networks and Internet Access Providerscharge per minute of connect time. Accordingly, it is more costeffective if users read and write e-mail messages when off-line (e.g.,when not connected to the on-line network).

[0009] Some existing on-line services display advertising to users. Forexample, advertisements are shown on part of the screen to users of theAmerica Online network. When accessing certain World Wide Web sites onthe Internet, advertisements are often included as part of the web pageseen by the user. Often in such systems, each user accessing a certainscreen or site is shown the same advertisement. Sophisticated systemshave the capability to change the advertisement after a certain periodof time. However, in such systems the user must remain connected to thenetwork to see the replacement advertisement.

[0010] When using a browser program (such as Netscape's Navigatorprogram) to access pages on the World Wide Web, information, which mayinclude advertisements, may be downloaded and cached at a user'scomputer. This information can be flushed from the cache at a latertime, as determined by the browser program. In some cases, thisinformation may be flushed when the browser program is “off-line.”However, advertisements are not automatically replaced in a web page andnew, unseen advertisements are not displayed as part of a web page whenin such disconnected mode.

[0011] Accordingly, there is a need for a system that displays andautomatically replaces displayed advertisements while disconnected fromthe network.

[0012] In particular, there is a need for an e-mail system that operatesmostly off-line and that can display and automatically replace displayedadvertisements while off-line.

[0013] Advertisers find it desirable to target advertisements torelevant potential customers. For example, an advertiser of stockingswould prefer to target women rather than men with its advertising. ABoston restaurant would prefer to target residents of Boston andbusiness travelers rather than children living in San Francisco.Moreover, advertisers prefer to pay for advertising based upon thenumber of relevant consumers who are actually exposed to theadvertisement. For prior on-line systems and networks, including theWorld Wide Web, it is often difficult for an advertiser to preciselydetermine whether its advertisements were actually viewed by a user andfor how long, and whether the advertisement induced a response.Accordingly, there exists a need for a targeted advertisement systemthat also can provide information as to the characteristics of those whowere exposed to each advertisement, for how long the user was exposed,and at what times.

[0014] Existing e-mail systems have other disadvantages. In existingdial-up e-mail systems, a user is provided with an access telephonenumber to connect to the network. Typically, at the network there are anumber of mail servers and each user's received e-mail messages arestored on one of those mail servers. Because many users use the sameaccess number to connect to the network, the network requirescapabilities to switch users to the mail server that stores that user'se-mail. Existing e-mail networks determine at the server side and whilethe user is on-line who the user is and that user's mail server, andthen switch the user to that mail server—a time consuming operation,especially if there are many users accessing the network. There exists aneed for an e-mail system where the network does not have to decide, aspart of the switching process, which mail server is to be accessed byeach user.

SUMMARY OF THE INVENTION

[0015] The present invention is directed to a disconnected electronicmail system that displays targeted advertisements. More particularly,the present invention allows users to view advertisements whilereceiving, composing, and managing personal electronic communications.

[0016] In a representative embodiment of the present invention, a“mostly disconnected,” highly scalable, client-server architecture isprovided for the delivery of personal communications and advertisements.The representative embodiment provides higher performance than existingsystems, and consequently lower costs per user.

[0017] The representative embodiment of the present invention is “mostlydisconnected” because it batches up requests for on-demand transmissionto the server. Accordingly, efficiency of connections is increased tonearly 100%, making it more economically viable than one that leaves theconnection open.

[0018] In the representative embodiment of the present invention, aclient computer is used by each user and runs a client program. Theclient computer may be, for example, a personal computer with an IntelPentium or 486 processor and a Microsoft Windows or OS/2 operatingsystem. The client computer has the capability to connect to a remotecomputer network, e.g., by modem. The client computer also has asecondary memory device, such as, for example, a hard disk drive. Theclient program of the present invention is stored on the hard disk driveand is executed by the client computer's processor.

[0019] The client program periodically communicates with a serversystem. In the representative embodiment, the server system comprises anumber of mail servers and a database management system. Each mailserver is a high speed processor with secondary memory. Each mail serveris coupled to the database management system and to an external computernetwork, such as, for example, the Internet. Each of the mail serversexecutes a server program. The server system has communicationfacilities to allow client computers to connect with mail servers, sothat client programs can communicate with server programs.

[0020] In the representative embodiment, the client computer is remotelylocated with respect to the server system. Typically, there are manyusers, each with a client computer executing the client program andcapable of communicating simultaneously with the server system.

[0021] Although the terms “client” and “server” are used herein, thepresent invention is not a client/server local area network. Moreover,the architecture of the present invention is not limited to what isknown in the art as a client/server network.

[0022] In the representative embodiment, a user can use the clientprogram to read, write, edit, send, receive and store electronic mail(“e-mail”). The term e-mail when used herein includes messages that aretransmitted over a communications network, computer to computer. E-mailmessages include text messages, graphics, formatted documents and files,sound files, MPEG files and the like. It will be appreciated, however,that the principles of the present invention will apply to other typesof computer based communications other than e-mail.

[0023] Sending E-Mail: Using the client program, the user composes oneor more e-mail messages. The messages include the e-mail address of theintended recipient. The user composes the messages while off-line, i.e.,when the user is composing a message, the client computer is notconnected to the server system. While composing e-mail messages,advertisements are displayed to the user by the client program. Theadvertisements can be displayed in a separate window, e.g., in a smallwindow at the top of the screen of the client computer. When finishedcomposing e-mail messages, the user instructs the client program to sendthe e-mail messages to the intended recipients.

[0024] Accordingly, the client program causes the client computer toestablish an electronic connection with the server system. In therepresentative embodiment, the client program causes the clientcomputer's modem to establish a telephone link to the server system. Theclient program then transmits the outgoing e-mail messages to the serversystem. Once communications with the server system are complete, theclient computer goes off-line by terminating the phone call. During theconnection and transmission process, advertisements are displayed to theuser by the client program.

[0025] The e-mail messages that were communicated to the server systemare transmitted to the intended recipients, e.g., over the Internet orto the mailboxes of the intended recipients on the mail servers of theserver system.

[0026] Receiving E-Mail: E-mail messages received by the server system,e.g., via the Internet or from other users of the server system, arestored for each user in a predetermined directory on a predeterminedmail server. When a user wishes to check to see if the user has receivede-mail messages, the user instructs the client program to retrieve suche-mail messages from the client system.

[0027] Accordingly, the client program causes the client computer toestablish an electronic connection with the server system, as discussedabove. The server system transmits the e-mail messages for that user tothe client program. Once communications with the server system arecomplete, the client computer goes off-line. During the connection andtransmission process, advertisements are displayed to the user by theclient program.

[0028] Using the client program, the user can read the received e-mailmessages. The user reads e-mail received while off-line, i.e., when theuser is reading messages, the client computer is not connected to theserver system. While reading e-mail messages, advertisements aredisplayed to the user by the client program.

[0029] It will be appreciated that e-mail can be sent and receivedduring the same connection. That is, when the client computerestablishes a connection with the server system, e-mail messages can betransferred both from the client computer to server system and from theserver system to the client computer.

[0030] The communications between the client program and the serversystem may be regarded as a batch system, as e-mail messages are createdand read off-line, and e-mail messages that are to be transferred aretransferred as a batch when the client computer establishes a connectionwith the server system.

[0031] An e-mail system such as that of the representative embodiment ofthe present invention that connects only while transferring e-mail andadvertising material has many advantages that have not been exploited byexisting on-line services. One such advantage is that communicationcosts and hardware requirements are substantially lower than for“fully-connected” on-line service. Moreover, while the system of thepresent invention is designed to operate in a mostly disconnected mode,the present invention will replace displayed advertisements with otheradvertisements while disconnected.

[0032] Targeted Advertisements: When first using the system of thepresent invention, the user completes a member profile (or survey) atthe client computer. The member profile records information about theuser, e.g., hobbies, interests, employment, education, sports,demographics, etc. The client program transmits the member profile tothe server system when the user's client program first establishes aconnection with the server system (e.g., on initial sign-up). The memberprofile is stored in the database management system of the serversystem.

[0033] The server system utilizes the information in the member profileto determine which advertisements should be directed to the user.Accordingly, an advertisement distribution scheduler of the serversystem decides which advertisements are eligible for distribution foreach user.

[0034] Whenever a user (i.e., the client program of the user)establishes a connection with the server system (e.g., to send and/orreceive mail), eligible advertisements can be transmitted from theserver system to the client program and stored on a memory device (e.g.,a hard disk drive) of the client computer.

[0035] The “down-loaded” advertisements that are stored locally can thenbe displayed to the user when the user is off-line, for example, whencomposing and reading e-mail messages, and when in the process ofestablishing a connection with the server system. The advertisements canalso be displayed when other communications are taking place between theclient program and the server system.

[0036] Thus, unlike prior systems, the present invention storesadvertisements at the user's client computer so that the advertisementscan be displayed when the user is not on-line. The display can bechanged at periodic intervals when the client program is in use, e.g.,every thirty seconds a new advertisement can be displayed.

[0037] Unlike partially connected systems that request a connectionimmediately when new data is required (such as in a system utilizing abrowser program to access World Wide Web pages), the present inventionwill delay all server requests until a connection is actuallyestablished by the user. The present invention has a local advertisementsystem that controls the output of advertisements when the clientcomputer is disconnected. In sharp contrast, browser programs, such asNetscape's Navigator program, do not have locally controlledadvertisement systems directed to the off-line display ofadvertisements.

[0038] It will be appreciated that the advertisements also may includecommunity service messages, system information messages, colorful andpleasing artwork, photographic works, logos, slogans and the like. Asused herein, the term advertisement includes any content other than orunrelated to e-mail messages or other such messages used incommunications between users.

[0039] Additionally, the client program of the present invention allowsthe user to select a particular advertisement (e.g., by double clickingon the message using a computer mouse) to have displayed additionalinformation relating to the advertisement. For example, a user mayselect a displayed advertisement for a motor vehicle and the clientprogram will cause to be displayed a screen of additional informationconcerning the motor vehicle and the locations of approved dealers. Thisadditional information is also stored locally on a storage device of theclient computer, and can be displayed to the user when the clientprogram is off-line and not connected to the server system.

[0040] Optionally, an advertisement displayed by the client program ofthe present invention may include a “more information” button. When theuser selects the “more information” button, a predetermined messagerequesting further information is prepared and communicated to theserver system when the client program next connects to the serversystem. At that or a later time, additional related information is sentby e-mail to the user who made the request.

[0041] In the representative embodiment, the user may wish to send ane-mail message to an advertiser. The advertisements displayed by clientprogram of the present invention can include e-mail address informationfor the advertiser (or related persons, such as dealers, stores,customer assistance, etc.). If the user wishes to send an e-mail messageto the advertiser, the user can select the e-mail address (or apredetermined button, e.g., an “e-mail to advertiser” button) and theclient program will automatically format an appropriate e-mail messagewith the correct e-mail address and/or enable the user to easily composean e-mail message to the advertiser.

[0042] The client program records (i) which advertisements are shown tothe user, for how long and at what times; (ii) when there is a period ofinactivity while the client program is running on the client computer,for example, if the user does not enter an instruction for a period offive minutes; and (iii) whether any advertisement has been altered bythe user. This information is stored in an advertisement statistics fileon the client computer and is communicated to the server system when theclient computer establishes a connection with the server system to sendand receive e-mail messages. The server system stores data from eachadvertisement statistics file in the database management system. Theinformation in the advertisement statistics file can be used to createbilling information to bill advertisers based on advertisements actuallyviewed.

[0043] Thus, unlike prior systems, the present invention can download toa client computer a number of advertisements (which may or may notactually be viewed by the user) and bill the advertisers only for thoseadvertisements displayed to the user.

[0044] Moreover, an advertisement may be downloaded once but viewed manytimes by a user, thus reducing transmission costs. The advertiser can bebilled for the multiple viewings of the advertisement. This is in sharpcontrast to advertisements displayed on the World Wide Web, where a usermay visit a web site many times but because of caching functions of mostweb browsers, the advertiser is unaware that the advertisement has beenviewed more than once. Further, web advertisers at present have no wayof determining for how long the advertisement was displayed to the user.Thus, the integrated targeted advertisement system of the presentinvention provides a number of advantages over web-based systems.According to the present invention, users willingly identify themselvesand their consumer interests, and make user verification possible.Furthermore, the system of the present invention can provide extremelyaccurate data as to how long an advertisement was shown to a user, whenit was clicked on, and how many times it was shown before the userresponded to the advertisement.

[0045] The server system can utilize the information from theadvertisement statistics file to direct follow-up e-mail messages “fromadvertisers” to users. For example, after an advertisement has beendisplayed to the user, the server system can send an e-mail messagerelating to the advertisement to that user.

[0046] According to the present invention, display of advertisements isdetermined by the client program. The client program includes ascheduler module that determines which advertisements to display to theuser and for how long.

[0047] The client program also records (i) when a user activates theclient program; (ii) how long the client program was used; (iii) modemconfiguration problems; (iv) information as to how well the clientprogram functioned; (v) any communication problems with the serversystem; and (vi) other statistical information useful to predict auser's future behavior with respect to the client program. Thisinformation is stored in an event log file on the client computer and iscommunicated to the server system when the user sends and/or receivese-mail messages or whenever the client computer establishes a connectionwith the server system. The server system stores data from each eventlog file in the database management system.

[0048] As discussed above, the advertisement distribution scheduler ofthe server system determines which advertisements are eligible fordistribution to each user. The advertisement distribution system canutilize the information in the event log file and/or advertisementstatistics file in making the determination as to which advertisementsare eligible for distribution to a particular user.

[0049] The server system also includes a download scheduler module thatdetermines when to download (i.e., transfer) a particular advertisementto a user. The client scheduler module, the advertisement distributionscheduler and the download scheduler module are disclosed in co-pendingpatent application entitled “Method and Apparatus For Scheduling thePresentation of Messages to Computer Users,” in the names of Brian D.Marsh and Jon D. Mc Auliffe, Ser. No. 08/______, ______, (attorney'sdocket number 2615/9) filed concurrently herewith, and expresslyincorporated herein by reference.

[0050] The advertisements displayed to users are not correlated with auser's e-mail in anyway. Thus, the advertisments can be regarded ascontext independent. The e-mail messages come from a different sourcethan that of the advertisements (e.g., the e-mail messages originatefrom other network users, while the advertisements originate fromadvertisers). Advertisements that are tranferred to a client computerare not in anyway related to the content of the e-mail messages that maybe transferred to or from the client computer. There need not be anycorrelation between the number of e-mail messages sent and/or receivedand the number of advertisements transferred to or stored at the clientcomputer. In the representative embodiment, advertisements are stored atthe client computer in a different subdirectory to that of e-mailmessages, and are not linked to any particular e-mail message ormessages. Control of the display of e-mail messages is independent tothat of the control of the display of advertisements—the client programdetermines which advertisements to display and at what times, whereasthe user determines which e-mail message to read and when to read andwrite e-mail messages. The content of the e-mail message that is read orwritten by a user is unrelated to the content of any advertisement thatis displayed, e.g., a user could be reading an e-mail message about avacation in Paris and the advertisement which is displayed may be forshampoo.

[0051] Further, users who do not receive any e-mail messages are shownadvertisements, e.g., when writing and sending e-mail messages, and whenchecking to see if any e-mail messages have been received.

[0052] In the representative embodiment, a user's e-mail messages arestored on one of many mail servers. The client computer stores switchinginformation that allows the client computer to contact to the mailserver that stores the e-mail messages for its user directly through theuse of an intelligent network. This switching information is referred toas a “binding” between the client and server computers. By having eachclient computer maintain this binding, connections go directly to thedata source instead of through a gateway or switch, eliminating a levelof indirection (i.e., the use of an expensive server to route theconnection) or the need for caching on the gateway. The bindingmechanism of the present invention offers greater scalability byexploiting the fact that the association between the client computer andthe server computer needs to be changed only occasionally.

BRIEF DESCRIPTION OF THE DRAWINGS

[0053]FIG. 1 is a system diagram of a representative embodiment of thepresent invention.

[0054]FIG. 2 is a block diagram of the client computer of FIG. 1.

[0055]FIG. 3 is a flowchart of the client computer initializationprocess.

[0056]FIG. 4 is a flowchart detailing account activation.

[0057]FIG. 5 represents actions that take place at the client computer.

[0058]FIG. 6 illustrates information communicated between the clientcomputer and the server system.

[0059]FIG. 7 shows a portion of an exemplary survey to create a memberprofile.

[0060]FIG. 8 illustrates an example read screen used to read receivede-mail messages.

[0061]FIG. 9 is a flowchart of the communication process that takesplace between the client computer and the server system as performed bythe client computer.

[0062]FIG. 10 illustrates an example showcase advertisement.

[0063]FIG. 11 is a flowchart of the communication process that takesplace between the client computer and the server system as performed bythe server system.

[0064]FIG. 12 illustrates an example write screen used to create e-mailmessages.

DETAILED DESCRIPTION

[0065] Referring now to the drawings, FIG. 1 illustrates an exemplarysystem configuration 100 of a representative embodiment of the presentinvention. The representative embodiment is described in reference to anelectronic mail system where a number of users can create, send, receiveand read e-mail messages. E-mail messages can be sent between users ofthe present invention and external users who have e-mail accounts.However, the principles of the present invention should not be regardedas limited solely to e-mail systems. For example, the principles of thepresent invention apply to on-line services that present advertising tousers while the user is accessing other content. Thus, an e-mail messagemay be regarded as an example of content provided to a user.

[0066] As shown in FIG. 1, a client computer 101, preferably aworkstation or personal computer, executes a client program. The clientcomputer can be used by one or more users.

[0067] Connected to the client computer 101 is a communication interface102 for allowing the client computer 101 to communicate with othercomputer systems. The communication interface may be, for example, amodem operating at 14.4 or 28.8 kilobits per second. As illustrated, thecommunications interface 102 is external to the client computer 101, buta communication interface 102 that is internal to or part of the clientcomputer 101 is also acceptable. Although the communication interface102 illustrated is a modem, the communication interface 102alternatively could be a network interface unit or a network card or thelike for providing connectivity to other computer systems over a networkusing such protocols as X.25, Ethernet, or TCP/IP, or any device thatallows, directly or indirectly, computer-to-computer communications.

[0068] The client computer 101 is coupled via the communicationsinterface 102 to a network 103. In the representative embodiment, thenetwork 103 is the public telephone network, but it may be, for example,a proprietary wide area network or the like.

[0069]FIG. 2 illustrates in further detail the hardware configuration ofthe client computer 101 of FIG. 1. In the representative embodiment, theclient computer 101 comprises a central processing unit 209 forexecuting computer programs (including the client program according tothe present invention) and managing and controlling the operation of theclient computer 101. A storage device 205, such as a floppy disk drive,is coupled to the central processing unit 209 for, e.g., reading andwriting data and computer programs to and from removable storage mediasuch as floppy disks. Storage device 206, coupled to the centralprocessing unit 209, also provides a means for storing computer programsand data. Storage device 206 is preferably a hard disk having a highstorage capacity. A dynamic memory device 207 such as a RAM, is coupledto the central processing unit 209. The client computer 101 includestypical input/output devices, such as, for example, a keyboard 203, amouse 204 and a monitor 208.

[0070] Referring again to FIG. 1, the client computer 101 selectivelycommunicates with a server system 104 over the network 103 using thecommunication interface 102. The server system 104 is coupled to thenetwork 103 via a communications server 105.

[0071] Although FIG. 1 shows only one client computer 101, it will beappreciated that the representative embodiment of the present inventioncan include many client computers 101 each capable of being coupled tothe server system 104.

[0072] The server system 104 is preferably a computer system designed tocommunicate electronic mail (e-mail) messages. In the representativeembodiment, the server system 104 is coupled to one or more externalnetworks 107, such as the Internet, that allow for the sending andreceiving of e-mail messages. The server system 104, acting as anintermediary, receives e-mail messages from and causes e-mail messagesto be sent to users who have established an account with the serversystem 104 and with external parties with e-mail addresses, such asInternet users or users of proprietary on-line services.

[0073] According to the present invention, the server system 104 alsoprovides other information to and receives information from users ofclient computers 101, such as, for example, advertisements, softwarepatches, statistical information, etc., as discussed in detail below.

[0074] In the representative embodiment, the server system 104 comprisesa plurality of mail servers MO - Mn. Each mail servers MO - Mn storese-mail messages for users of client computers 101 who have establishedan account with the server system 104.

[0075] Received e-mail messages, addressed to users who have accountswith the server system 104, are stored in the mail servers MO - Mn.According to the representative embodiment of the present invention,each user is assigned to one mail server MO - Mn. Messages received fora user who has an account with the server system 104 are stored in adirectory on the mail server MO - Mn assigned to that user account. Eachreceived e-mail message is stored in a file in the intended recipient'sdirectory until the intended recipient requests received e-mailmessages, as discussed below.

[0076] E-mail messages sent from a user are stored temporarily on a diskat the server system before transmission to the intended recipient.

[0077] One or more of the mail servers MO - Mn is preferably configuredto transmit e-mail messages to and receive e-mail messages fromnon-users of the server system 104 (e.g., users of other e-mail systems)via external networks such as the Internet 107.

[0078] The server system 104 of the representative embodiment includes adatabase management system 106, coupled to each of the mail servers MO -Mn. The database management system 106 manages and stores informationrelated to the operation of the present invention, such as, for example,member profile information, advertisement information, information usedto bill advertisers, etc. The database management system 106 preferablyincludes a plurality of high capacity storage devices for storing andmanaging large amounts of data. (The hardware configuration of thedatabase management system 106 can easily be varied, and may comprise,for example, a single processor coupled to a high speed storage device,or a distributed system comprising a plurality of servers.)

[0079] Alternative configurations of the server system 104 can beaccommodated by the present invention. For example, e-mail messages maybe stored centrally in a database management system such as the databasemanagement system 106 of the server system 104. Thus, each time a userconnects to the server system 104, that user's received e-mail messagesare retrieved from a central storage location.

[0080] In the representative embodiment of the present invention, theserver system 104 also includes a plurality of signup servers SO - Sn.The signup servers SO - Sn allow for communication with first timeusers, preferably establishing and activating user accounts andproviding new users with “binding” information (as described below).

[0081]FIG. 3 illustrates, in flow chart form, the installation andaccount creation steps that take place at a client computer 101.Typically, the user is provided (e.g., on disk or electronicallydownloaded over the Internet) with a copy of a software program (theclient program) that is executed by the client computer 101 according tothe principles of the present invention. The user will install theclient program on the client computer 101, for example, by executing aninstall program. The install program will create a directory on thestorage device 206 and load the client program into that directory. Inthe representative embodiment, the install program will determine ifthere is enough space in the storage device 206 to install the clientprogram and to later download advertisements. For example, the installprogram will set aside five megabytes of storage space on the storagedevice 206 for advertisements. This will ensure that there is a minimumamount of storage space available for the required number ofadvertisements that may be downloaded and stored in the future. Theinstall program may also determine if the client program has previouslybeen installed and if an old version of the client program has beeninstalled that requires updating.

[0082] The client program and associated files are organized on thestorage device 206 of the client computer 101 in a plurality ofsub-directories. For example, assuming that the directory in which theclient program is installed is named “mail”, then in the representativeembodiment, sub-directories of “mail” include “ads”, “bad”, “bin”,“lib”, “tmp”, “usero”. The “ads” subdirectory stores advertisements andan ad log recording statistics relating to advertisements. The “bad”subdirectory stores files not recognized by the advertisement system.The “bin” subdirectory stores the executable client program and related“dll” files. The “lib” subdirectory stores help files, modemconfiguration files, and bitmap images used in the display of thegraphical user interface. The “tmp” subdirectory is used for temporaryfiles. The “user0” subdirectory is a subdirectory created when a userestablishes an account. Each time a user creates a new account (or adifferent user creates an account using the same client computer 101), anew subdirectory is created for that user account, e.g., “user1”,“user2”, etc. The “user” subdirectory includes an e-mail address bookfile, a user preferences and configuration file, and “get” and “put”subdirectories are “spooling” directories where data is temporarilystored while in transit between the client computer 101 and the serversystem 104.

[0083] Because files associated with the present invention are stored atthe client computer 101, especially files comprising advertisements andusage information, a user may accidentally or maliciously delete, tamperwith or add to such files and/or subdirectories. Accordingly, thepresent invention includes an authentication scheme to prevent and/ordetect certain undesirable modifications. One such authentication schemeis disclosed in co-pending patent application entitled “AdvertisementAuthentication Scheme In Which Advertisements Are Down-loaded ForOff-Line Display,” in the names of Jon D. Mc Auliffe, Brian D. Marsh andMark. A Moraes, Ser. No. 08/______,______, (attorney's docket number2615/10) filed concurrently herewith, and expressly incorporated hereinby reference.

[0084] Advertisements may be displayed to the user during installation.

[0085] Once the client computer software has been installed, the usercan initiate local execution of the client computer software. In therepresentative embodiment, the client computer software operates in agraphical user interface (GUI) environment such as Microsoft Windows,Mac/OS, OS/2 and the like.

[0086] The first time that the client computer software is executed onthe client computer 101 (and whenever a user wishes to establish a newaccount with the server system 104), the client program performs variousfunction intended to establish a new account for the user. In therepresentative embodiment, the first step is to collect new accountinformation (step 301). At the request of the client program, the userinputs name, address, telephone number and other identification data.This information is stored on storage device 206.

[0087] Next, the client program configures the communication interface102 to operate with the client program (step 302). For example, theclient program may ask the user to identify the modem and modem speed ormay autodetect the modem and modem speed. The user may also be asked toidentify the type of telephone line (e.g., tone or pulse) and whetherone must dial a certain number to reach an external line.

[0088] The client program requests that the user select an e-mailaddress and password (step 303).

[0089] The client program then initiates a connection with the serversystem 104 to activate an account for the user (step 304). FIG. 4illustrates this activation step in further detail. The client computer101 establishes communication with the server system 104 via thecommunication interface 102 (step 401). In the representativeembodiment, first time users interfacing with the server system 104 arecoupled to one of the plurality of signup servers SO - Sn. Theparticular signup server Sx that the user is first connected is selectedby the server system 104 in a round robin fashion.

[0090] On first time use, the client program passes to the server system104 the selected user name and password. Signup server Sx establishes anaccount for the user, e.g., queries the database management system 106to determine whether the requested e-mail address is unique to theserver system 104, and if it is, creates an entry in the databasemanagement system for that user (step 402). Signup server Sx thenassigns (or “binds”) the user to one of the plurality of mail serversMO - Mn (step 402). The binding information (e.g., the identity of themail server) is transmitted to the client computer 101 and stored on thestorage device 206 for later use.

[0091] After the account has been activated, the client computerdisconnects from (i.e., terminates communication with) the server system104 (step 404), and in particular disconnects from signup server Sx.

[0092] Referring again to FIG. 3, once the user's account is activated(step 304), the user is asked to complete a member profile (step 305).This step takes place when the client computer 101 is off-line, i.e.,not connected to the server system 104. In particular, the clientcomputer 101 requests that the user provide information such asinterests, hobbies, recent purchases, demographic information, etc., inthe form of a survey. FIG. 7 shows as an example of one portion of arepresentative survey. Illustrated is question fifteen 701 of the memberprofile. The user responds to the illustrated question 701 by clickingon the appropriate circle next to each option, thus “filling in” thecircle. For example, in response to “What sorts of programs do you liketo watch on TV?,”—if the user watches “News” 702, the user clicks on thecircle representing appropriate answer. Thus, if the user watches the“News” 702 often, he clicks on circle 703. After clicking on all theappropriate circles representing responses, the user may move ahead inthe profile—that is, to the next questions—by clicking on a “Next >”button 704. If the user wants to go back to earlier questions andresponses, possibly to change an answer, the user clicks on a “< Back”button 705.

[0093] The user's responses (i.e., the completed member profile) arestored on the client computer 101 storage device 206 for futuretransmission to the server system 104. In the representative embodiment,the member profile is transmitted to the server system 104 when the userfirst sends or receives e-mail. The information can be used by theserver system 104 to aid in selecting or targeting advertisements ande-mail messages containing advertisements to desired users. The memberprofile can be updated by the user and will then be transmitted to theserver system 104 when the user next connects with the server system 104to sent or receive e-mail messages. When transmitted, the member profileis stored at the server system 104 on the database management system106.

[0094] Once the member profile is completed, initialization is complete.The user at the client computer 101 can now create, send, receive, andread e-mail messages.

[0095] It will be appreciated that in alternative embodiments, themember profile may be transmitted to the server system 104 at step 304along with the selected e-mail address and password.

[0096]FIG. 5 illustrates, in flow chart form, typical steps followed bythe client computer 101 when the client software is executed after theinitial sign-up process. This flow chart is for purpose of explanationand does not necessarily reflect all possible paths of control flow inthe execution of the client program.

[0097] The client computer 101 displays advertisements on a portion ofthe user's display terminal 202 (step 501). As illustrated,advertisements are displayed continuously during the operation of theclient software, and in particular, when the client computer 101 is notin communication with the server system 104. This is possible becausethe advertisements are stored on the client computer 101.

[0098] In the representative embodiment there are two types ofadvertisements. Banner advertisements 800 are displayed at step 501 whenthe user is reading and creating e-mail messages, or performing otheradministrative tasks, e.g., moving e-mail messages between folders. Inthe representative embodiment, banner advertisements 800 are displayedin a box at the top right side of the window (see FIGS. 8 and 12).Showcase advertisements are displayed whenever the user is attempting toestablish a connection with the server system 104 and when informationis being transferred between the client computer 101 and the serversystem 104. The banner and showcase advertisements may be textual,graphical, or video data (or combinations thereof) and may be stored ina standard compressed data format, such as JPEG or MPEG, or in aproprietary format, or in an uncompressed format. Typically,advertisements are simple graphics files. Sounds may also be included.

[0099] The banner advertisement 800 shown to the user prior to sendingor receiving e-mail messages for the first time can be an advertisementpreviously received from the server system 104 (e.g., during the accountcreation process) or an advertisement obtained from the installationdisk. The banner advertisement 800 displayed is stored in a file onstorage device 206 (e.g., in the “ads” subdirectory). The stored banneradvertisements 800 can be stored in a compressed format and decompressedimmediately prior to display.

[0100] In the representative embodiment, each banner advertisement 800is replaced by another one of the stored banner advertisements after apredetermined time has elapsed. The banner advertisement is continuouslyupdated or replaced by the client computer 101 while the client programof the present invention is executing. Each banner advertisement 800 isdisplayed for a predetermined time and in accordance with a schedulethat is preset or determined by the client program “on-the-fly”.

[0101] The banner advertisements 800 may be interactive. For example, byclicking on the banner advertisement 800, the user may be provided withfurther information concerning the subject matter of the current banneradvertisement 800. The further information may be, for example, anotherrelated banner advertisement 800 stored on storage device 206.

[0102] By clicking on the banner advertisement 800, the user may beprovided with an e-mail message template to create an e-mail message (asdescribed in connection with FIG. 12 below), having the addresseealready filled in with the e-mail address of a company associated withthe subject matter of the current banner advertisement 800. In thismanner, the user may, for example, provide comments to the companyregarding the subject matter of the banner advertisement 800 or requestfurther information. Alternatively, clicking on the banner advertisement800 may cause an e-mail message to be automatically completed (includingthe message) and either transmitted immediately or stored in the user's“outbox” folder (described later). The message may merely identify theuser to the addressee of the e-mail message as someone interested in thesubject matter of the banner advertisement 800.

[0103] In accordance with the representative embodiment, advertisementsare preferably described in a file using a page description language(“PDL”). The PDL is a simple notation for describing the graphicalobjects or elements that form each advertisement. Accordingly,associated with each advertisement is a file containing theadvertisement's description written in the PDL. A specification for arepresentative PDL is illustrated below: Type: Page Head Name: Name ofthe page Width: width of page in pixels Height: height of page in pixelsColor <optional>: color File Name <optional>: file name . . . Type: TextName: Name of the element Left: position w/r/t left side of ad page Top:position w/r/t top of ad page Width: width of text in pixels Height:height of text in pixels Text: textual message Font <optional>: fontFont Style <optional>: Bold | Italic | underline | Strikeout Font Height<optional>: font height in pixels FG Color <optional>: text color BGColor <optional>: background color Justify <optional>: Right | Center |Left (default) Type : Button Name : Name of the element Left: positionw/r/t left side of ad page Top: position w/r/t top of ad page Width:width of text in pixels Height: height of text in pixels Text : textualmessage Up <optional>: file name of bitmap for button in up positionDown <optional>: file name of bitmap for button in down position Focus<optional>: file name of bitmap for focus button OnClick/Action: actionto be performed when user clicks the button. Choose one action of thefollowing: pdl modal <file name> create new dialog to display the new adpdl inherit <file name> use the current dialog to display the ad log <anid assigned to the ad> log an event to the ad log to be processed by theserver request <recipient E-mail> <subject line> compose a message andput it into user's outbox mail <recipient email> <subject line> switchto the writer, fill in the To and Subject msg <message text> display amessage Message <optional>: message to be displayed when user clicks thebutton Data: specify any auxiliary data for the action Font: font FontStyle: Bold | Italic | Underline | Strikeout Font height: font height inpixels Type: HotSpot Name: Name of the element Left: position w/r/t leftside of ad page Top: position w/r/t top of ad page Width: width of textin pixels Height: height of text in pixels Text : textual messageOnClick/Action: action to be performed when user clicks the hotspot.Choose one action of the following: pdl modal <file name> :create newdialog to display the new ad pdl inherit <file name> :use the currentdialog to display the ad log <an id assigned to the ad> log an event tothe ad log to be processed by the server request <recipient email><subject line> : compose a message and put it into user's outbox mail<recipient email> <subject line> : switch to the writer, fill in the Toand Subject msg <message text> : display a message Message <optional>:message to be displayed when user clicks the hot spot Data: specify anyauxilary data for the action . . . Type: Background Name: Name of theelement Left: position w/r/t left side of ad page Top: position w/r/ttop of ad page Width: width of text in pixels Height: height of text inpixels Color: color File name <optional>: specify the bitmap to use orthe bitmap which contains the background color Type: BMP Name: Name ofthe element Left: position w/r/t left side of ad page Top: positionw/r/t top of ad page Width: width of text in pixels Height: height oftext in pixels File name: the bitmap file Wipe <optional>: TRUE (do wipewith any of the available wipe modes) FALSE (no wipe) |LTOR (left toright) |RTOL (right to left) |MID (expand from middle) |END (start fromtwo ends) . . .

[0104] In the representative embodiment, all advertisement definitionsinclude a “Page head” and may include one or more of the otherillustrated types.

[0105] Type: Page Head:

[0106] “Page Head” defines the basic structure of the advertisementincluding the “Width” and “Height” of the advertisement, as well as thecolor (“Color” or “File Name” fields).

[0107] Type: Text:

[0108] “Text” specifies a text string at a particular location. The“Name” field defines an identifier for the “Text” object being defined.The “Left” and “Top” fields indicate the position of the text stringwithin the advertisement. “Width” and “Height” provide the dimensions ofthe text. The “Text” field specifies the text string to be displayed.The “Font,” “Font Style,” and “Font Height” fields identify textual fontinformation. “FG Color” and “BG Color” identify the color of the textand the color of the background respectively. The “Justify” fieldspecifies the text justification.

[0109] Type: Button:

[0110] “Button” defines a clickable GUI button. The “Name” fieldspecifies an identifier for the button being defined. “Left” and “Top”specify the position of the button while “Width” and “Height” define thedimensions of the button.

[0111] The “Text” field specifies a text string to be displayed on thebutton. For a bitmap button, “Up,” “Down,” and “Focus” specify bitmapsfor the button in the up, down, and focus positions respectively.

[0112] The “OnClick/Action” field specifies the action to be performedwhen a user clicks on the button. One of six actions may be performed.If “pdl modal <file name>” is specified, a new dialog is created todisplay a new advertisement. The file name specified is the filecontaining the definition of new advertisement. If “pdl inherit <filename>” is specified, the current dialog is used to display the newadvertisement defined in file “file name.” If “log” is specified, anevent is logged into the ad log.

[0113] “Request <recipient email> <subject line>” causes the clientcomputer to automatically compose an e-mail message addressed to theidentified “recipient.” The subject of the e-mail message is filled inwith the text specified in the second parameter, i.e., subject line. Thee-mail message is then put into the user's outbox.

[0114] If “mail <recipient email> <subject line>” is defined as theaction to be performed, the client computer switches to the “write”screen, automatically filling in the address and the subject of ane-mail message. The user can then fill in the message body.

[0115] Finally, if “msg” is specified, a textual message is displayed tothe user when the user clicks the button.

[0116] The “Message” field for type “Button” specifies a message to bedisplayed when the user clicks on the bottom.

[0117] The “Data” field identifies auxilary data for the action.

[0118] Additionally, for each button, “Font,” “Font height,” and “Fontstyle” may be specified for the button text.

[0119] Type: Hotspot:

[0120] “Hotspot” is similar to a GUI button and is defined in a fashionsimilar to a button.

[0121] Type: Background:

[0122] “Background” is used to fill a specified rectangle with aselected color or identifies a bitmap to fill the specified rectangle.The “Left” and “Top” fields define the position of the background whilethe “Width” and “Height” fields define the dimensions of the background.The “Color” field identifies the color of the background. The “Filename” field identifies a bitmap to use to fill in the rectangle.

[0123] Type: BMP:

[0124] “BMP” specifies a bitmap. The “Left” and “Top” fields define theposition where the bitmap is to be displayed while “Width” and “Height”define the display dimensions of the bitmap. The “File name” fieldidentifies the bitmap file. Finally, the “Wipe” field specifies if thebitmap is to wipe when display, and if so, how it should be wiped.

[0125] The client computer 101 also logs statistics regarding theadvertisements displayed (also step 501) in a file stored on storagedevice 206. For example, each time a new banner advertisement 800 isdisplayed, the client computer 101 logs the identification of the banneradvertisement 800, the time and date it was displayed, and duration ofthe display.

[0126] While the banner advertisement 800 is displayed, the user canread and create e-mail messages using a graphical user interface of thepresent invention (steps 500 and 502-507). At step 502, the clientprogram causes a main screen to be displayed. FIG. 8 is a representativeexample of a typical main screen.

[0127] As illustrated in FIG. 8, the user is presented with two “tabs”representing main system functions, a read tab 801 and a write tab 802.Clicking on read tab 801 (step 503) or write tab 802 (step 505) causes ascreen for either reading or creating e-mail messages to be displayed.In FIG. 8, the read tab 801 has been selected, thus allowing the user toread e-mail messages that have been transferred to the client computer102. Thus, from FIG. 8, if the user selects the write tab 802 (step505), a write screen 1220 is displayed as in FIG. 12 (step 506). FromFIG. 12, if the user selects the read tab 801, a read screen 820 isdisplayed as in FIG. 8 (step 504).

[0128] When the read screen 820 is displayed, the user can read e-mailmessages that have been transferred to the client computer 101. When thewrite screen 1220 is displayed, the user can create e-mail messages. Itwill be appreciated that reading and creating e-mail messages is doneoff-line, and that banner advertisements 800 are displayed to the userand updated while the user is reading and creating e-mail messages.E-mail messages that are created can be textual, graphical, and mayinclude attached files.

[0129] Referring now to the read screen 820 of FIG. 8, the user atclient computer 101 is presented with various read subfunctionsdisplayed as clickable buttons labeled “Reply” 803, “Forward” 804,“Delete” 805, “Print” 806, “Move to Folder” 807, “Copy to Folder” 808,“Get New Mail” 809, “Address Book” 810. In the representativeembodiment, e-mail messages are stored in folders, e.g., an Inbox folderfor received e-mail messages and an Outbox folder for unsent e-mailmessages. The user may create additional folders, and move e-mailmessages between folders. The folders are subdirectories in thesubdirectory allocated to a particular user (e.g., subdirectory “user1”)of the client computer 101.

[0130] The read screen 820 displays the name of the current e-mailfolder 811, a status display 812 showing the status of e-mail messagesstored in the current e-mail folder 811, an e-mail list 813 showing alist of the e-mail messages stored in the current e-mail folder, and anopen e-mail text box 824 displaying the content (e.g., text) of aselected e-mail message.

[0131] Information concerning e-mail messages stored in the currentfolder is displayed in an e-mail list 813. The information preferablyincludes the user name and address of the sender (“From” 815), thesubject of the e-mail message (“Subject” 816), the date of the e-mailmessage (“Date” 817), and the status of the e-mail message (“Status”818). As shown in FIG. 8, information concerning only three e-mailmessages is displayed, but the user can scroll through informationconcerning other e-mail messages stored in the folder using scroll bar819.

[0132] By selecting (e.g., clicking on) one of the displayed listelements in e-mail list 813, the user can “open” the correspondinge-mail message. Once opened, the content of the e-mail message isdisplayed in the e-mail text box 824. The user can scroll through thecontent of the message using scroll bar 821.

[0133] Once an e-mail message is open, the user can read the message andchoose to reply to the message by clicking on the reply button 803. Thisopens the write screen 1220 (FIG. 12) and creates a template for ane-mail message, with the addressee field completed. In particular, if auser replies to the e-mail message highlighted in FIG. 8, the replye-mail message will be addressed to “Steve@demo.juno.com”. Processing ofthis new message is similar to that of other e-mail messages created bythe user.

[0134] The user can also choose to forward the open e-mail message byclicking on the Forward button 804. In response to clicking on theForward button, the client computer 101 creates a template for an e-mailmessage and also attaches a copy of the open e-mail message.

[0135] The user can also choose to delete the open message by clickingon the Delete button 805. This causes the client computer 101 to eraseor remove the file containing the open e-mail message from the storagedevice 206. In the representative embodiment, the file may be marked as“deleted” and then actually deleted at the end of the user's session.

[0136] The open e-mail message can also be printed on a printer that iscoupled to client computer 101. To print an e-mail message, the userselects the Print button 806.

[0137] Received e-mail messages can be moved to and copied to otherfolders by clicking on the “Move to Folder” button 807 and “Copy toFolder” buttons 808 respectively. When the “Move to Folder” button 807is clicked, the user is asked to identify the folder to which the opene-mail message is to be moved. If the user identifies a non-existentfolder, the client computer 101 creates a new folder with the nameidentified by the user and associates the e-mail message with the newfolder, removing the e-mail message from the old folder. Otherwise, theopen e-mail message is associated with the identified existing folderand is removed from the old folder.

[0138] Clicking the “Copy to Folder” 808 copies the open e-mail into afolder identified by the user and leaves the original e-mail message inthe old folder.

[0139] The user can retrieve new e-mail messages and send created e-mailmessages (step 507). The user can choose to retrieve new e-mail messagesfrom the server system 104 by clicking on the “Get New Mail” button 809.The user can choose to send e-mail messages by clicking on the “SendMail” button 1209 of FIG. 12. (The user is also given the option toretrieve new e-mail messages whenever the user starts the clientprogram.)

[0140]FIG. 9 illustrates in detail the steps performed by the clientcomputer when the user sends or receives e-mail messages. When a userdecides to send or get e-mail messages, the client computer 101 connectsto a mail server MO - Mn of the server system 104 through communicationsserver 105 (step 901). Among the other connection parameters passed fromthe client computer 101 to the communication interface 102 is the username and binding information (e.g., the network login) that identifieswhich of the plurality of mail servers MO - Mn the user's clientcomputer 101 should be connected to. Each user is associated or “bound”to a particular mail server MO - Mn.

[0141] Once the client computer 101 is connected to the appropriate mailserver MO - Mn, the user must then be “authenticated.” Authentication isaccomplished using a challenge/response protocol. The mail server issuesa challenge to which the client computer 101 responds by computing akeyed hash value of the challenge using the user's password. The clientsystem 101 transmits the user's name and the hash value back to the mailserver. The mail server then compares the client's hash value with ahash value it computers locally based on the asserted identity of theuser. If it matches, the user is authenticated.

[0142] In the representative embodiment, if the server 105 has migratedthe user's server-side data to a different mail server MO - Mn, theclient computer 101 receives a notification that the binding haschanged. This notification includes new binding information. The clientthen establishes a new connection utilizing the new binding information.

[0143] After the client is connected to the appropriate mail server andhas been authenticated, the client computer 101 transmits the user'smember profile stored on storage device 106 to the mail server for thatuser if appropriate(step 902). The user's member profile will only betransmitted if it has been modified since the last time the clientcomputer 101 transmitted the profile. The creation of the user's memberprofile was discussed above in connection with FIG. 3.

[0144] The client computer 101 also transmits statistical information tothe mail server Mn. In the representative embodiment, the statisticalinformation includes, for example (i) which advertisements are shown tothe user, for how long and at what times; (ii) whether any advertisementhas been altered by the user or corrupted by the system; (iii) thenumber of remaining exposures for an advertisement; and (iv) when anadvertisement is expired for a user or for all users. This informationis stored in an advertisement statistics file. The statisticalinformation may also include (i) when a user activates the clientprogram; (ii) how long the client program was used; (iii) when there isa period of inactivity when the client program is running on the clientcomputer, for example, if the user does not enter an instruction for aperiod of five minutes; (iv) modem configuration problems; (v)information as to how well the client program functioned; (vi) anycommunication problems with the server system; and (vii) otherstatistical information useful to predict a user's future behavior withrespect to the client program. This information is stored in an eventlog file.

[0145] As appropriate, e-mail messages are communicated between theclient computer 101 and the server system 104 (step 904). The clientcomputer 101 receives (and the mail server transmits) new e-mailmessages addressed to the user. The client computer 101 stores each newe-mail messages on storage device 106 and associates the new messageswith the Inbox folder. The client computer 101 sends (and the mailserver receives) e-mail messages created by the user and stored onstorage device 106. In the representative embodiment, these messageswere associated with the Outbox folder.

[0146] Additionally, new banner and showcase advertisements andcorresponding scheduling information can be received by the clientcomputer 101 (step 905) from the mail server Mn, and are stored onstorage device 106, in, for example, the “ads” subdirectory. Expiredadvertisements may be overwritten. The scheduling information mayinclude information such as how many times each message should bedisplayed to each user, what time of day the message should bedisplayed, how many days the advertisement remains current and eligiblefor display, etc.

[0147] The new banner and showcase advertisements are not correlated inany way to the user's e-mail. In fact, a user may receive theadvertisements even if the user does not receive any e-mail or have anye-mail to send.

[0148] The client computer 101 may also receive other information fromthe mail server Mn (step 906). This other information may be, forexample, software patches, modem configuration data, and new POPinformation. The new POP information allows easy changes and additionsto the points of presence (usually modem banks and terminal servers)that enable connections between the client computers 101 and the serversystem 104.

[0149] As the client program may occasionally need to be updated toincorporate new features or correct errors (bugs), software patches arealso transmitted to the client computer 101. Thus, when a software patchis available, the client computer 101 receives and stores it, andpreferably, applies the update sometime in the future.

[0150] POP information includes both dialing scripts and telephonenumbers.

[0151] Finally, after the client computer 101 has transmitted andreceived all of the necessary information, the client computer 101 isdisconnected from the mail server Mn (step 907).

[0152] While the client computer 101 is establishing communicationswith, and actually communicating with the server system 104 through mailserver Mn, showcase advertisements 1001 are displayed to the user. FIG.10 illustrates a screen display that is shown to the user during steps901 to 907. Like the banner advertisement 800, the showcaseadvertisement 1001 can be replaced after a predetermined time, with adifferent showcase advertisement that is stored on storage device 206.The showcase advertisement 1001 preferably takes up a large portion ofthe display window as illustrated. The client computer 101 recordsinformation such as the identity of the showcase advertisement, the timeof the display to the user, and the duration of the display, in theadvertisement statistics file, each time a showcase message isdisplayed.

[0153] In an alternate embodiment, a regular or “generic” banneradvertisement 800 could be shown concurrently with the showcaseadvertisements 1001. The generic banner advertisement may, for example,use a limited number of colors, allowing the system to maximize the useof the colors in the showcase advertisements 1001.

[0154] To the left of the showcase message 1001, a transfer status 1002is displayed. This status alerts the user to the percentage of data thathas transferred between the client computer 101 and the mail server Mnand what transfer operation is being performed (e.g., modem dialing,modem connecting, transferring, disconnecting, etc.).

[0155]FIG. 11 illustrates the transfer process of FIG. 9 from theperspective of the server system 104. After the user connects to theappropriate mail server Mn and the user is authenticated (step 1101),and, if necessary, the mail server Mn receives from the client computer101 the user profile (step 1102). The mail server Mn also receivesstatistical information from the client computer 101, such as, forexample, the event log file and the advertisements statistics file (step1103). In the representative embodiment, the user profile and thestatistical information may be temporarily stored in the mail server Mn.Late at night (off-peak), a batch job may be run to incorporate all thenew data into the database management system 106. This information canbe used to determine which advertisements are eligible for downloadingto a particular user, when the advertisements are to be downloaded, andwhen the advertisements are to be displayed. The event log file and theadvertisement statistics file are also used to create billinginformation for advertisers. After these files are transmitted to theserver system 104 by the client computer 101, a backend program at theserver system 104 reads and processes these files for reporting andbilling advertisers whose advertisements have been distributed and/ordisplayed.

[0156] The mail server Mn transmits e-mail messages addressed to theuser to that user's client computer 101 and receives e-mail messagesfrom the client computer 101 to be sent to others (step 1104). Asindicated above, the e-mail messages addressed to each user arepreferably stored at the mail server MO - Mn to which the user isassigned, in this case, mail server Mn. Thus, to retrieve e-mailmessages for a particular user, mail server Mn need only access thefiles containing the e-mail messages addressed to that user and transmitthem to the user. Thus, in the representative embodiment, the mailserver Mn does not need to remotely access another machine, thusimproving performance and availability by reducing network traffic.

[0157] New banner and showcase advertisements are transmitted from themail server Mn to the user at the client computer 101. When the userconnects to mail server Mn, mail server Mn transmits the appropriateadvertisements to the user.

[0158] In an exemplary embodiment of the present invention, the databasemanagement system 106 determines which users are eligible to receiveeach particular advertisement, and that advertisement will be “placed”in each eligible user's directory on the mail server. When placing anadvertisement in the directory, the present invention may place a copythe advertisement in the directory or create a symbolic link in thedirectory to a central or common location where the advertisement isstored. This process of determining which users are eligible to receivean advertisement and “placing” the advertisement in the user's directorymay take place at an off-peak period such as very late at night.

[0159] Where there is more than one user of a particular client computer101, the advertisements that are eligible to be transferred to all usersof that client computer can be stored together on the mail server. Thus,whenever one of those users connects to the mail server, all or aportion of the advertisements for all users of that client computer 101can be transferred to the client computer 101.

[0160] Additional information, such as software patches, new modemconfiguration data, and new POP data, may be transferred by the serversystem 104 to the client computer 101 (step 1107).

[0161] Once the mail server Mn has finished transmitting and receivinginformation, the client computer 101 is disconnected from the mailserver Mn (step 1108).

[0162] Referring again to FIG. 8, the user can click on an “AddressBook” button 810. Upon clicking on the “Address Book” button 810, theuser is presented with his current list of e-mail addresses (of othersystem users and non-users) that the user has stored, e.g., on storagedevice 206. The user may add other e-mail addresses to this electronic“address book.”

[0163] If the user wishes to compose an e-mail message, the user canselect the write tab 802 (step 505), causing the write screen 1220 to bedisplayed, as shown in FIG. 12 (step 506). The write screen 1220presents the user with a blank e-mail message template 1201 which theuser can complete, as well as several GUI buttons: a “Spell Check”button 1206, a “Clear” button 1207, a “Print” button 1208, a “Send Mail”button 1209, and an “Address Book” button 1210.

[0164] As illustrated, the e-mail message template 1201 includes a “To:”field which the user can enter e-mail addressees. In this case, only onee-mail addressee has been entered, “jane@demo.com,” however, severaldifferent e-mail addressees could have been entered.

[0165] The e-mail template 1201 also includes a “Cc:” field 1203 forentering the e-mail addresses of users who should receive a copy of thee-mail the user is sending. Here, “janice@demo.com” is entered in the“Cc:” field 1203.

[0166] Additionally, a “Subject:” field 1204 is provided for enteringinformation preferably identifying the subject of the e-mail message.“Perry” is the subject of the e-mail message illustrated.

[0167] Finally a “Message:” field 1205 is provided. This is the portionof the e-mail template 1201 where the user can write a message, i.e.,fill in the message body.

[0168] Once the e-mail template 1201 has been completed, the user canclick on the “Spell Check” button which provides checks the spelling ofinformation in the “Message:” field 1205.

[0169] Clicking on the “Clear:” button 1207 provides the function ofclearing the e-mail message template 1201 so that the user can rapidlyclear the fields of the e-mail message template.

[0170] The “Print” button 1208, when selected, causes the clientcomputer 101 to print the e-mail template 1201, with the informationentered, to a printer that is coupled to the client computer 101.

[0171] If the user decides that the e-mail message is complete, the usermay select the “Send Mail” button 1209. In response, the client computer101 asks the user whether the user wants to move the message to an“outbox” folder or whether the user wants to send (and receive) e-mailmessages immediately. A user will generally elect to move the message toan “outbox” folder if the user intends to write more e-mail messagesduring the current session. As described earlier, the “outbox” folder ispreferably for temporary storage of outgoing e-mail messages that arewaiting to be sent. If the user does elect to move the message to the“outbox” folder, the message is stored on the storage device 206 of theclient computer 101, and the user is again presented with a blank e-mailtemplate.

[0172] If instead, the user elects to send and receive e-mailimmediately, the processes described in connection with FIGS. 9 and 11are performed. E-mail messages stored in the user's “outbox” folder aswell as the current new e-mail message are transmitted by the clientcomputer 101 to the mail server Mn for delivery.

[0173] If the addressees of the e-mail transmitted are users of thepresent invention, the e-mail will be delivered to the addressees thennext time they connect to a mail server MO - Mn. Otherwise, the mailserver Mn will transmit the e-mail message outside the present system,for example, over the Internet 107.

[0174] Finally, clicking on the “Address Book” 1210 results in thedisplay of the user's current list of e-mail addresses (of other systemusers and non-users) that he has stored on storage device 206. Using theelectronic “address book,” the user can look up the address of someoneto whom the user wishes to send an e-mail message. The user may also addother e-mail addresses to the electronic address book.

[0175] When creating e-mail messages in the write screen 1220, banneradvertisements 800 are displayed to the user. The client computer 101 isnot connected to the server system 104 when the user is creating e-mailmessages.

[0176] When the user has completed all e-mail processing, the user canexit the client program by selecting “File” 1211 positioned in a menubar 1212 and then selecting “Exit” from a drop down menu (step 507).

[0177] More than one user may use a single client computer 101. In suchcase, a subdirectory is provided for each user on the client computer101, e.g., user0, user1, etc. However, there need be only one “ads”directory storing advertisements. These advertisements may be eligiblefor display to all, some or one only of the users. In the representativeembodiment, each advertisement contains scheduling information for eachuser to whom the advertisement will be shown. In addition, a list ofknown advertisements for each user is maintained on the client computer101. This list is modified by an advertisement scheduler andadvertisement spooler both of which run locally on the client computer101. The advertisement scheduler removes an advertisement from a user'slist when the advertisement expires. The advertisement spooler makesadditions to the per-user data structures when a new advertisement isreceived.

[0178]FIG. 6 summarizes the information that is communicated between theclient computer 101 and the server system 104 of the representativeembodiment of the present invention. E-mail messages are compressed fortransmission. Advertisement archives are transferred from the serversystem 104 to the client computer 101. Each advertisement archivecomprises a combination of advertisement data (as discussed above withreference to the PDL) and advertisement control information.Advertisement control information includes scheduling information forthat advertisement, e.g., show the advertisement twenty times, by onlyfor the next ten days. The advertisement archive is stored in compressedformat at the server system 104. (For convenience only, thisspecification sometimes refers to transmission of an advertisement fromthe server system 104 to a client computer 101. In the representativeembodiment, it is an advertisement archive, not actual an advertisement,that is transmitted.)

[0179] An advertisement statistics file and an event log file arecompressed prior to transmission and sent from the client computer 101to the server system 104. A member profile file, storing informationabout the user, is sent for the client computer 101 to the server system104. In the representative embodiment, this file is in a Windows INIformat, and is compressed for transmission. A file comprising adebugging log is also transmitted, in compressed form, from the clientcomputer 101 to the server system 104.

[0180] The following files are sent from the server system 104 to theclient computer 101: a binary data file comprising a software patch,compressed prior to transmission; a file comprising modem configurationand identification data used by modem configuration software at theclient computer 101, compressed prior to transmission; and a file of POPdata, including dial scripts and telephone numbers referring to pointsof presence, compressed prior to transmission.

[0181]FIG. 6 also illustrates the information that is communicatedbetween the server system 104 and an advertiser or sponsor 108. Inparticular, files containing advertisement information may becommunicated from the advertiser 108 to the server system 104 forprocessing and storage in database management system 106. Also, billinginformation and statistics may be communicated to the advertiser 108from the server system 104. The advertisements, billing information, andstatistics may be electronically communicated between the server system104 and the advertiser 108, directly or indirectly, over a network, overthe air waves, or over any other communication media. Alternatively, theinformation may simply be hand delivered on a storage media such as tapeor disk.

[0182] Although FIG. 6 shows only one advertiser 108, it will beappreciated that the representative embodiment of the present inventioncan include many advertisers.

[0183] Also illustrated in FIG. 6 is the flow of information between theserver system 104 and an external network such as the Internet 107. Asdescribed above, the server system may transmit information such ase-mail messages to and from non-users of the server system 104 via theexternal network 107.

[0184] As can be appreciated, the present invention operates in anefficient manner. In particular, the user at the client computer 101operates locally while composing and reading e-mail messages. Only whenthe user is ready to transmit or receive new e-mail messages does theclient computer 101 establish a communications link with the serversystem 104, and the client computer 101 is disconnected as soon as allinformation is transmitted and received. Thus, the system operates in a“batch” mode. This, of course, keeps the costs associated withmaintaining a communications link, i.e., connect or line charges, low.

[0185] Further, the present invention maximizes potential advertisingtime by displaying messages to a user at a client computer 101 even whenthe client computer 101 is “off-line” from the server system 104.

[0186] It will be appreciated that the principles of the presentinvention could be used to provide advertisements to users in on-linesystems other than e-mail systems. For example, the present inventioncould be adapted to output a series of advertisements to users in asystem that allowed downloading of a number of web pages for off-linebrowsing. In general, the present invention could be utilized whereverdigital content is downloaded to a user for off-line access.

[0187] While the present invention has been particularly shown anddescribed with reference to preferred embodiments thereof, it will beunderstood by those skilled in the art that various changes in form anddetails may be made therein without departing from the spirit and scopeof the invention.

What is claimed is:
 1. In an electronic mail system, a method to outputadditional content to a user at a local computer when the local computeris off-line, comprising the steps of: creating an electronic mailmessage at the local computer; establishing a communications linkbetween the local computer and a remote system; receiving the additionalcontent from the remote system; storing the additional content on astorage device at the local computer; transferring the electronic mailmessage from the local computer to the remote system; terminating thecommunications link between the local computer and the remote system;and outputting the additional content at the local computer while thelocal computer is off-line with respect to the remote system.
 2. Themethod of claim 1 , wherein the additional content comprises at leastone of (a) an advertisement, (b) a plurality of additional contentportions representing a plurality of advertisements and (c) informationother than an electronic mail message sent between a plurality of localcomputers through the remote system.
 3. The method of claim 1 furthercomprising the steps of: at the local computer, recording in astatistics file an indication that the additional content was output;and storing the statistics file on the storage device at the localcomputer.
 4. The method of claim 3 further comprising the step ofutilizing the statistics file to create a billing account related to theadditional content.
 5. The method of claim 1 wherein the local computerinitiates the communications link with the remote system.
 6. The methodof claim 1 wherein the remote system is coupled to the Internet.
 7. Themethod of claim 1 further comprising the initial steps of: receiving, atthe remote system, a member profile from the user, the member profilecomprising demographic information about the user; utilizing the memberprofile to determine the additional content that will be communicated tothe user.
 8. In an electronic mail system, a method to output additionalcontent to a user at a local computer when the local computer isoff-line, comprising the steps of: establishing a communications linkbetween the local computer and a remote system; receiving additionalcontent from the remote system; storing the additional content on astorage device at the local computer; transferring an electronic mailmessage from the remote system to the local computer; storing theelectronic mail message on the storage device at the local computer;terminating the communications link between the local computer and theremote system; outputting the electronic mail message at the localcomputer; concurrently with the previous step, outputting a portion ofthe additional content at the local computer while the local computer isoff-line with respect to the remote system.
 9. The method of claim 8further comprising the step of replacing the output additional contentwith a second portion of the additional content while the local computeris off-line with respect to the remote system.
 10. The method of claim 9further comprising the steps of: at the local computer, recording in astatistics file an indication of the additional content that has beenoutput; and storing the statistics file on the storage device at thelocal computer.
 11. The method of claim 10 further comprising the stepsof: creating an electronic mail message at the local computer while thelocal computer is off-line with respect to the remote system;re-establishing the communications link between the local computer andthe remote system; and transferring the statistics file and the secondelectronic mail message from the local computer to the remote system.12. The method of claim 11 wherein a third portion of the additionalcontent is output while the electronic mail message is created.
 13. Themethod of claim 12 further comprising the step of utilizing thestatistics file to create a billing account related to the additionalcontent.
 14. The method of claim 8 wherein the local computer initiatesthe communications link with the remote system.
 15. The method of claim8 further comprising the initial steps of: receiving, at the remotesystem, a member profile from the user, the member profile comprisingdemographic information about the user; utilizing the member profile todetermine that additional content to be communicated to the user.
 16. Inan electronic mail system, a method to output additional content to auser at a local computer when the local computer is off-line, comprisingthe steps of: creating a first electronic mail message at the localcomputer; concurrently with the previous step, outputting a firstportion of the additional content at the local computer while the useris creating the first electronic mail message; establishing acommunications link between the local computer and a remote system;receiving a second portion of the additional content from the remotesystem; storing the second portion of the additional content on astorage device at the local computer; transferring the first electronicmail message from the local computer to the remote system; transferringa second electronic mail message from the remote system to the localcomputer; storing the second electronic mail message on the storagedevice at the local computer; terminating the communications linkbetween the local computer and the remote system; outputting the secondportion of the additional content at the local computer while the localcomputer is off-line with respect to the remote system; and concurrentlywith the previous step, displaying the second electronic mail message atthe local computer while the local computer is off-line with respect tothe remote system.
 17. The method of claim 16 wherein the first portionof the additional content is stored on the storage device of the localcomputer.
 18. The method of claim 16 further comprising the step ofoutputting the first portion of the additional content in place of thesecond portion of the additional content while the second electronicmail message is displayed and while the local computer is off-line withrespect to the remote system.
 19. The method of claim 16 furthercomprising the steps of: at the local computer, recording in astatistics file an indication that the additional content was output;and transferring the statistics file from the local computer to theremote system when the communications link is established between thelocal computer and the remote system.
 20. The method of claim 19 furthercomprising the step of utilizing the statistics file at the remotesystem to create a billing account related to the additional content.21. The method of claim 16 wherein the local computer initiates thecommunications link with the remote system.
 22. The method of claim 16further comprising the initial steps of: receiving, at the remotesystem, a member profile from the user, the member profile comprisingdemographic information about the user; and utilizing the member profileto determine that additional content to be communicated to the user. 23.A method to operate an e-mail system having a server system and aplurality of user computers, comprising the steps of: enabling thecreation and reading of e-mail messages at user computers while the usercomputers are off-line with respect to the server system; transferringe-mail messages between the user computers and the server system whilethe user computers are on-line with respect to the server system;transferring additional content from the server system to the usercomputers while the user computers are on-line with respect to theserver system; storing the transferred additional content locally at theuser computers; and outputting the stored additional content at the usercomputers when e-mail messages are being created or read and while theuser computers are off-line with respect to the server system.
 24. Amethod of operating an e-mail system having a plurality of usercomputers operated by users and a server system, comprising the stepsof: enabling the creation and reading of e-mail messages at usercomputers while the user computers are off-line with respect to theserver system; determining, at the server system, additional contentthat is relevant for each user; transferring e-mail messages between theuser computers and the server system while the user computers areon-line with respect to the server system; transferring relevantadditional content from the server system to the user computers whilethe user computers are on-line with respect to the server system;storing the transferred additional content locally at the usercomputers; outputting the stored additional content at the usercomputers when e-mail messages are being created or read while the usercomputers are off-line with respect to the server system.
 25. In anelectronic mail system, a method to output additional content to a userat a local computer when the local computer is off-line, comprising thesteps of: coupling the local computer to a remote system; receiving afirst portion of the additional content and a second portion of theadditional content from the remote system; storing the first portion ofthe additional content and the second portion of the additional contenton a storage device at the local computer; transferring an electronicmail message from the remote system to the local computer; storing theelectronic mail message on the storage device at the local computer;decoupling the local computer from the remote system; displaying theelectronic mail message at the local computer; and concurrently with theprevious step, (a) displaying the first portion of the additionalcontent at the local computer while the electronic mail message isdisplayed, and (b) after a predetermined time, displaying the portion ofthe additional output in place of the first portion of the additionalcontent while the electronic mail message is displayed.
 26. In anelectronic mail system, a method to output additional content to a userat a local computer when the local computer is off-line, comprising thesteps of: creating a first electronic mail message at the localcomputer; concurrently with the previous step, displaying a firstportion of the additional content at the local computer while the useris creating the first electronic mail message; storing, in a statisticsfile, information to identify that the first portion of the additionalcontent was displayed; coupling the local computer to a remote system;receiving a second portion of the additional content from the remotesystem; storing the second portion of the additional content on astorage device at the local computer; transferring the first electronicmail message from the local computer to the remote system; transferringthe statistics file from the local computer to the remote system;transferring a second electronic mail message from the remote system tothe local computer; storing the second electronic mail message on thestorage device at the local computer; decoupling the local computer fromthe remote system; displaying the second portion of the additionalcontent at the local computer while the local computer iscommunicatively disconnected from the remote system; and concurrentlywith the previous step, displaying the second electronic mail message atthe local computer while the local computer is off-line with respect tothe remote system.
 27. A method to operate a network having a serversystem and a plurality of user computers, comprising the steps of:enabling the output of digital content to users at user computers whilethe user computers are off-line with respect to the server system;transferring digital content from the server system to the usercomputers while the user computers are on-line with respect to theserver system; transferring additional content from the server system tothe user computers while the user computers are on-line with respect tothe server system; storing the transferred additional content locally atthe user computers; and outputting the stored additional content at theuser computers when the digital content is output to users at usercomputers while the user computers are off-line with respect to theserver system.
 28. An electronic mail system to output additionalcontent to a user, comprising: a remote system comprising a plurality ofmail servers storing additional content and electronic mail messages;and a local computer having a storage device and a processor program forcreating an electronic mail message, establishing a communications linkwith the remote system, receiving the additional content from the remotesystem, storing the additional content on the storage device,transferring the electronic mail message to the remote system,terminating the communications link with the remote system, andoutputting the additional content while off-line with respect to theremote system.
 29. The system of claim 28 wherein the local computerfurther comprises: means for recording in a statistics file anindication that the additional content was output; and means for storingthe statistics file on the storage device.
 30. The system of claim 29wherein the local computer further comprises: means for creating amember profile comprising demographic information about the user; andmeans for transmitting the member profile to the remote system.
 31. Ane-mail terminal for use in conjunction with a server system having oneor more mail servers, comprising: means for creating an electroniccommunications link with the server system; means for transferringadditional content from the server system while in electroniccommunications with the server system; a storage device for storingadditional content received from the server system; means forterminating the electronic communications link with the server system;means for enabling the creation and reading of e-mail messages while notin electronic communications with the server system; means fortransferring e-mail messages from at least one of the mail servers ofthe server system while in electronic communications with the serversystem; and an output device for outputting the stored additionalcontent when e-mail messages are being created or read.
 32. An e-mailsystem for use by a plurality of users, comprising: a server system,including means for determining additional content that is relevant foreach user; means enabling the creation and reading of e-mail messages atremote computers while said remote computers are off-line with respectto the server system; means for transferring e-mail messages betweensaid remote computers and the server system while said remote computersare on-line with respect to the server system; means for transferringrelevant additional content from the server system to remote computerswhile said remote computers are on-line with respect to the serversystem; means for storing the transferred additional content locally atthe remote computers; means for outputting the stored additional contentat the remote computers when e-mail messages are being created or readat the remote computers.
 33. A method to operate an e-mail system havinga server system and a plurality of user computers, comprising the stepsof: enabling the creation and reading of e-mail messages by users atuser computers while the user computers are off-line with respect to theserver system; transferring e-mail messages between the user computersand the server system while the user computers are on-line with respectto the server system; transferring additional content from the serversystem to the user computers while the user computers are on-line withrespect to the server system; storing the transferred additional contentlocally at the user computers; and outputting, under the control of theuser computers and without user intervention, the stored additionalcontent at the user computers when the user computers are off-line withrespect to the server system.
 34. The method of claim 33 furthercomprising the step of allowing the user to select additional contentwhile the additional content is being output, and thereafter outputtingadditional information to the user, the additional information storedlocally at the user computer along with the additional content that wasselected.